#ifndef STACK_H
#define STACK_H
#include <my_header.h>

// 双向链表实现栈
typedef struct node_s{
    int id;
    struct node_s *pNext;
    struct node_s *pFront;
}node_t;

typedef struct {
    node_t *stack_top;
    int stack_size;
}my_stack;

int stack_init(my_stack *st);
int stack_push(my_stack *st, int val);
int stack_pop(my_stack *st);
int stack_copy(my_stack *dest, my_stack *src);
void print_stack(my_stack st);
int stack_destroy(my_stack *st);

#endif
